package com.atguigu.java;

/**
 * @author azzn1400820029
 * @create 2021-12-12 19:14
 */

/*
 * 一、设计类，其实就是设计类的成员
 *
 *  属性 = 成员变量 = field = 域、字段
 *  方法 = 成员方法 = 函数 = method
 *
 *  创建类的对象 = 类的实例化 = 实例化类
 *
 * 二、类和对象的使用（面向对象思想落地的实现）：
 *  1.创建类，设计类的成员
 *  2.创建类的对象
 *  3.通过“对象.属性”或“对象.方法”调用对象的结构
 *
 * 三、如果创建了一个类的多个对象，则每个对象都独立的拥有一套类的属性。（非static的）
 *   意味着：如果我们修改一个对象的属性a，则不影响另外一个对象属性a的值。
 *
 * 四、对象的内存解析
 */
public class PersonTest {
    public static void main(String[] args) {
//        创建person类对象
        Person person = new Person();

//        调用类属性和方法
        person.name = "Tom";
        person.age = 12;
        person.isMale = true;
        System.out.println(person.name);

        person.sleep();
        person.eat();
        person.talk("Chinese");

//        成员变量默认值
        Person person1 = new Person();
        System.out.println(person1.name);
        System.out.println(person1.isMale);

//        将p1保存对象地址赋值给p
        Person person3 = person1;
        System.out.println(person3.name);

        person3.age = 10;
        System.out.println(person1.age);

    }
}

class Person {
    String name;
    int age = 1;
    boolean isMale;

    public void eat() {
        System.out.println("人可以吃饭");
    }
    public void sleep() {
        System.out.println("人可以睡觉");
    }

    public void talk(String language) {
        System.out.println("人可以说话,使用的是：" + language);
    }
}
